package org.cem.frontend;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Text;

public class SecondWizardPage extends WizardPage {
	private Text txtAndereReligion;
	private Combo comboFremdspracheEins;
	private Combo comboTeilnahmeReligion;
	private Combo comboGeschlecht;
	private Combo comboFremdspracheZwei;
	private Combo comboFremdspracheDrei;
	private Combo comboFremdspracheVier;

	protected SecondWizardPage(String pageName) {
		super(pageName);
	}

	@Override
	public void createControl(Composite parent) {
		
		final String[] fremdsprachen = new String[] {
				"keine", "englisch", "französisch", "latein", "spanisch", "italienisch", "griechisch", "russisch", "japanisch"
		};
		
		Composite mainComposite = new Composite(parent, SWT.NONE);
		setControl(mainComposite);
		mainComposite.setLayout(new GridLayout(2, false));
		
		Label lblGeschlecht = new Label(mainComposite, SWT.NONE);
		lblGeschlecht.setText("Geschlecht:");
		
		comboGeschlecht = new Combo(mainComposite, SWT.READ_ONLY);
		comboGeschlecht.setItems(new String[] {"männlich", "weiblich"});
		comboGeschlecht.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
		comboGeschlecht.select(0);
		
		Label lblReligion = new Label(mainComposite, SWT.NONE);
		lblReligion.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
		lblReligion.setText("Religion:");
		
		Composite religionComposite = new Composite(mainComposite, SWT.NONE);
		religionComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
		religionComposite.setLayout(new GridLayout(2, false));
		
		Combo comboReligion = new Combo(religionComposite, SWT.READ_ONLY);
		comboReligion.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1));
		comboReligion.setItems(new String[] {"römisch-katholisch", "evangelisch", "muslimisch", "andere Religion"});
		comboReligion.select(0);
		
		Label lblAndereReligion = new Label(religionComposite, SWT.NONE);
		lblAndereReligion.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
		lblAndereReligion.setBounds(0, 0, 55, 15);
		lblAndereReligion.setText("Andere Religion:");
		
		txtAndereReligion = new Text(religionComposite, SWT.BORDER);
		txtAndereReligion.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
		
		Label lblTeilnahmeAmReligionsunterricht = new Label(mainComposite, SWT.NONE);
		lblTeilnahmeAmReligionsunterricht.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
		lblTeilnahmeAmReligionsunterricht.setText("Teilnahme am Religionsunterricht:");
		
		comboTeilnahmeReligion = new Combo(mainComposite, SWT.READ_ONLY);
		comboTeilnahmeReligion.setItems(new String[] {"ja", "nein"});
		comboTeilnahmeReligion.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
		comboTeilnahmeReligion.select(0);
		
		Label lblFremdspracheEins = new Label(mainComposite, SWT.NONE);
		lblFremdspracheEins.setText("1. Fremdsprache ab Klasse 5:");
		
		comboFremdspracheEins = new Combo(mainComposite, SWT.READ_ONLY);
		comboFremdspracheEins.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
		comboFremdspracheEins.setItems(fremdsprachen);
		comboFremdspracheEins.select(0);
		
		comboFremdspracheEins.addSelectionListener(new SelectionAdapter() {

			@Override
			public void widgetSelected(SelectionEvent e) {
				
				String auswahlEins = comboFremdspracheEins.getItem(comboFremdspracheEins.getSelectionIndex());
				
				if (!auswahlEins.equals(fremdsprachen[0])){
					String auswahlZwei = comboFremdspracheZwei.getItem(comboFremdspracheZwei.getSelectionIndex());
					String auswahlDrei = comboFremdspracheDrei.getItem(comboFremdspracheDrei.getSelectionIndex());
					String auswahlVier = comboFremdspracheVier.getItem(comboFremdspracheVier.getSelectionIndex());
				
					String[] aktuelleItems = comboFremdspracheEins.getItems();

					List<String> itemListe = new ArrayList<String>(Arrays.asList(aktuelleItems));
					itemListe.remove(auswahlEins);
				
					comboFremdspracheZwei.setItems((String[]) itemListe.toArray(new String[itemListe.size()]));
					if (itemListe.contains(auswahlZwei)){
						comboFremdspracheZwei.select(itemListe.indexOf(auswahlZwei));
					}
					else{
						comboFremdspracheZwei.select(0);
					}
				}
				
				
				
				
			}
			
		});
		
		Label lblFremdspracheZwei = new Label(mainComposite, SWT.NONE);
		lblFremdspracheZwei.setText("2. Fremdsprache ab Klasse 6:");
		
		comboFremdspracheZwei = new Combo(mainComposite, SWT.READ_ONLY);
		comboFremdspracheZwei.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
		comboFremdspracheZwei.setItems(fremdsprachen);
		comboFremdspracheZwei.select(0);
		
		Label lblFremdspracheDrei = new Label(mainComposite, SWT.NONE);
		lblFremdspracheDrei.setText("3. Fremdsprache ab Klasse 8:");
		
		comboFremdspracheDrei = new Combo(mainComposite, SWT.READ_ONLY);
		comboFremdspracheDrei.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
		comboFremdspracheDrei.setItems(fremdsprachen);
		comboFremdspracheDrei.select(0);
		
		Label lblFremdspracheVier = new Label(mainComposite, SWT.NONE);
		lblFremdspracheVier.setText("4. Fremdsprache ab Klasse 9:");
		
		comboFremdspracheVier = new Combo(mainComposite, SWT.READ_ONLY);
		comboFremdspracheVier.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
		comboFremdspracheVier.setItems(fremdsprachen);
		comboFremdspracheVier.select(0);
		
	}

}
